#region: Spectravideo SVI-318 and SVI-328 machines
#format: <UNICODE>, <ROW><COL>, <MODIFIERS>
# <UNICODE>: hexadecimal unicode number or DEADKEY<N>
# <ROW>: row in keyboard matrix (hexadecimal: 0-B)
# <COL>: column in keyboard matrix (0-7)
# <MODIFIERS>: space separated list of modifiers:
#              SHIFT CTRL GRAPH CODE
#
# Example characters in comments are encoded in UTF-8
#
0000, 02, CTRL SHIFT  # ^@
0001, 21, CTRL        # ^A
0002, 22, CTRL        # ^B
0003, 23, CTRL        # ^C
0004, 24, CTRL        # ^D
0005, 25, CTRL        # ^E
0006, 26, CTRL        # ^F
0007, 27, CTRL        # ^G
0008, 56,             # Backspace
0009, 81,             # Tab
000a, 32, CTRL        # ^J
#000b, 81,             # Home (is Home a unicode character?)
000c, 34, CTRL        # ^L
000d, 66,             # Enter/CR
000e, 36, CTRL        # ^N
000f, 37, CTRL        # ^O
0010, 40, CTRL        # ^P
0011, 41, CTRL        # ^Q
0012, 76,             # Insert (is Insert a unicode character?)
0013, 43, CTRL        # ^S
0014, 44, CTRL        # ^T
0015, 45, CTRL        # ^U
0016, 46, CTRL        # ^V
0017, 47, CTRL        # ^W
0018, 84,             # Select (is Select a unicode character?)
0019, 51, CTRL        # ^Y
001a, 52, CTRL        # ^Z
001b, 64,             # Escape(SDL maps ESC and ^[ to this code)
001c, 87,             # Right (SDL maps ^\ to this code)
001d, 67,             # Left  (SDL maps ^] to this code)
001e, 57,             # Up    (SDL maps ^6 to this code)
001f, 77,             # Down  (SDL maps ^/ to this code)
0020, 80,             # Space
0021, 01, SHIFT       # !
0022, 13, SHIFT       # "
0023, 03, SHIFT       # #
0024, 04, SHIFT       # $
0025, 05, SHIFT       # %
0026, 07, SHIFT       # &
0027, 13,             # '
0028, 11, SHIFT       # (
0029, 00, SHIFT       # )
002a, 10, SHIFT       # *
002b, 15, SHIFT       # +
002c, 14,             # ,
002d, 20,             # -
002e, 16,             # .
002f, 17,             # /
0030, 00,             # 0
0031, 01,             # 1
0032, 02,             # 2
0033, 03,             # 3
0034, 04,             # 4
0035, 05,             # 5
0036, 06,             # 6
0037, 07,             # 7
0038, 10,             # 8
0039, 11,             # 9
003a, 12,             # :
003b, 12, SHIFT       # ;
003c, 14, SHIFT       # <
003d, 15,             # =
003e, 16, SHIFT       # >
003f, 17, SHIFT       # ?
0040, 02, SHIFT       # @
0041, 21, SHIFT       # A
0042, 22, SHIFT       # B
0043, 23, SHIFT       # C
0044, 24, SHIFT       # D
0045, 25, SHIFT       # E
0046, 26, SHIFT       # F
0047, 27, SHIFT       # G
0048, 30, SHIFT       # H
0049, 31, SHIFT       # I
004a, 32, SHIFT       # J
004b, 33, SHIFT       # K
004c, 34, SHIFT       # L
004d, 35, SHIFT       # M
004e, 36, SHIFT       # N
004f, 37, SHIFT       # O
0050, 40, SHIFT       # P
0051, 41, SHIFT       # Q
0052, 42, SHIFT       # R
0053, 43, SHIFT       # S
0054, 44, SHIFT       # T
0055, 45, SHIFT       # U
0056, 46, SHIFT       # V
0057, 47, SHIFT       # W
0058, 50, SHIFT       # X
0059, 51, SHIFT       # Y
005a, 52, SHIFT       # Z
005b, 53,             # [
005c, 54,             # \
005d, 55,             # ]
005e, 06, SHIFT       # ^
005f, 20, SHIFT       # _
#0060, 21,             # `
0061, 21,             # a
0062, 22,             # b
0063, 23,             # c
0064, 24,             # d
0065, 25,             # e
0066, 26,             # f
0067, 27,             # g
0068, 30,             # h
0069, 31,             # i
006a, 32,             # j
006b, 33,             # k
006c, 34,             # l
006d, 35,             # m
006e, 36,             # n
006f, 37,             # o
0070, 40,             # p
0071, 41,             # q
0072, 42,             # r
0073, 43,             # s
0074, 44,             # t
0075, 45,             # u
0076, 46,             # v
0077, 47,             # w
0078, 50,             # x
0079, 51,             # y
007a, 52,             # z
007b, 53, SHIFT       # {
#007c, 14, SHIFT       # |
007d, 55, SHIFT       # }
007e, 54, SHIFT       # ~
007f, 82,             # Delete
00a0, 80,             # No-break space (&nbsp;)
#00a1, 01, SHIFT CODE  # ¡
#00a2, 04, CODE        # ¢
#00a3, 04, SHIFT CODE  # £
#00a5, 05, SHIFT CODE  # ¥
#00a7, 03, CODE        # §
#00aa, 23, CODE        # ª
#00ab, 22, SHIFT GRAPH # «
#00ac, 56, SHIFT GRAPH # ¬
#00b0, 57, SHIFT GRAPH # °
#00b1, 13, GRAPH       # ±
#00b2, 02, SHIFT GRAPH # ²
#00b5, 42, CODE        # µ
#00b6, 03, SHIFT CODE  # ¶
#00b7, 30, SHIFT GRAPH # ·
#00ba, 24, CODE        # º
#00bb, 23, SHIFT GRAPH # »
#00bc, 01, GRAPH       # ¼
#00bd, 02, GRAPH       # ½
#00be, 03, GRAPH       # ¾
#00bf, 24, SHIFT CODE  # ¿
#00c3, 35, SHIFT CODE  # Ã
#00c4, 26, SHIFT CODE  # Ä
#00c5, 22, SHIFT CODE  # Å
#00c6, 37, SHIFT CODE  # Æ
#00c7, 11, SHIFT CODE  # Ç
#00c9, 52, SHIFT CODE  # É
#00d1, 43, SHIFT CODE  # Ñ
#00d5, 41, SHIFT CODE  # Õ
#00d6, 33, SHIFT CODE  # Ö
#00dc, 34, SHIFT CODE  # Ü
#00df, 07, CODE        # ß
#00e0, 57, CODE        # à
#00e1, 56, CODE        # á
#00e2, 46, CODE        # â
#00e3, 35, CODE        # ã
#00e4, 26, CODE        # ä
#00e5, 22, CODE        # å
#00e6, 37, CODE        # æ
#00e7, 11, CODE        # ç
#00e8, 55, CODE        # è
#00e9, 52, CODE        # é
#00ea, 54, CODE        # ê
#00eb, 50, CODE        # ë
#00ec, 30, CODE        # ì
#00ed, 36, CODE        # í
#00ee, 32, CODE        # î
#00ef, 31, CODE        # ï
#00f1, 43, CODE        # ñ
#00f2, 53, CODE        # ò
#00f3, 44, CODE        # ó
#00f4, 47, CODE        # ô
#00f5, 41, CODE        # õ
#00f6, 33, CODE        # ö
#00f7, 24, SHIFT GRAPH # ÷
#00f9, 27, CODE        # ù
#00fa, 45, CODE        # ú
#00fb, 51, CODE        # û
#00fc, 34, CODE        # ü
#00ff, 05, CODE        # ÿ
#0128, 40, SHIFT CODE  # Ĩ
#0129, 40, CODE        # ĩ
#0132, 20, SHIFT CODE  # Ĳ
#0133, 20, CODE        # ĳ
#0168, 17, SHIFT CODE  # Ũ
#0169, 17, CODE        # ũ
#0192, 01, CODE        # ƒ
#0393, 10, SHIFT CODE  # Γ
#0394, 00, SHIFT CODE  # Δ
#03a3, 21, SHIFT CODE  # Σ
#03a6, 15, SHIFT CODE  # Φ
#03a9, 16, SHIFT CODE  # Ω
#03b1, 06, CODE        # α
#03b4, 00, CODE        # δ
#03b5, 12, CODE        # ε
#03b8, 13, CODE        # θ
#03c0, 45, SHIFT CODE  # π
#03c3, 21, CODE        # σ
#03c4, 10, CODE        # τ
#2300, 15, CODE        # ⌀
#03c9, 16, CODE        # ω
#2219, 55, SHIFT GRAPH # ∙
#2022, 11, GRAPH       # •
#2030, 05, GRAPH       # ‰
#207f, 03, SHIFT GRAPH # ⁿ
#20a7, 02, SHIFT CODE  # ₧
#221a, 07, GRAPH       # √
#221e, 10, GRAPH       # ∞
#2229, 04, GRAPH       # ∩
#223d, 21, GRAPH       # ∽
#2248, 21, SHIFT GRAPH # ≈
#2021, 02, CODE        # ‡
#2261, 13, SHIFT GRAPH # ≡
#2264, 22, GRAPH       # ≤
#2265, 23, GRAPH       # ≥
#2310, 47, SHIFT GRAPH # ⌐
#2320, 06, GRAPH       # ⌠
#2321, 06, SHIFT GRAPH # ⌡
#2500, 12, GRAPH       # ─
#2502, 14, SHIFT GRAPH # │
#250c, 47, GRAPH       # ┌
#2510, 56, GRAPH       # ┐
#2514, 53, GRAPH       # └
#2518, 43, GRAPH       # ┘
#251c, 33, GRAPH       # ├
#2524, 35, GRAPH       # ┤
#252c, 51, GRAPH       # ┬
#2534, 27, GRAPH       # ┴
#253c, 34, GRAPH       # ┼
#2571, 24, GRAPH       # ╱
#2572, 14, GRAPH       # ╲
#2573, 55, GRAPH       # ╳
#2580, 36, SHIFT GRAPH # ▀
#2582, 52, GRAPH       # ▂
#2584, 36, GRAPH       # ▄
#2586, 44, GRAPH       # ▆
#2588, 45, GRAPH       # █
#258a, 41, GRAPH       # ▊
#258c, 40, GRAPH       # ▌
#258e, 37, GRAPH       # ▎
#2590, 40, SHIFT GRAPH # ▐
#1FB82, 44, SHIFT GRAPH # UPPER ONE QUARTER BLOCK
#1FB87, 41, SHIFT GRAPH # RIGHT ONE QUARTER BLOCK
#2596, 35, SHIFT GRAPH # ▖
#2597, 33, SHIFT GRAPH # ▗
#2598, 43, SHIFT GRAPH # ▘
#259a, 31, SHIFT GRAPH # ▚
#259d, 53, SHIFT GRAPH # ▝
#259e, 31, GRAPH       # ▞
#1FB98, 46, GRAPH       # UPPER LEFT TO LOWER RIGHT FILL
#1FB99, 46, SHIFT GRAPH # UPPER RIGHT TO LOWER LEFT FILL
#1FB96, 45, SHIFT GRAPH # INVERSE CHECKER BOARD FILL
#1FB6F, 32, SHIFT GRAPH # LOWER TRIANGULAR ONE QUARTER BLOCK
#1FB6C, 54, GRAPH       # LEFT TRIANGULAR ONE QUARTER BLOCK
#1FB6D, 32, GRAPH       # UPPER TRIANGULAR ONE QUARTER BLOCK
#1FB6E, 54, SHIFT GRAPH # RIGHT TRIANGULAR ONE QUARTER BLOCK
#25ca, 30, GRAPH       # ◊
#25cb, 00, GRAPH       # ○
#25d8, 11, SHIFT GRAPH # ◘
#25d9, 00, SHIFT GRAPH # ◙
#25a0, 26, SHIFT GRAPH # ■
#25ac, 26, GRAPH       # ▬
#263a, 15, GRAPH       # ☺
#263b, 15, SHIFT GRAPH # ☻
#263c, 57, GRAPH       # ☼
#2640, 42, SHIFT GRAPH # ♀
#2642, 42, GRAPH       # ♂
#2660, 17, GRAPH       # ♠
#2663, 20, GRAPH       # ♣
#2665, 20, SHIFT GRAPH # ♥
#2666, 17, SHIFT GRAPH # ♦
#266a, 16, GRAPH       # ♪
#266b, 16, SHIFT GRAPH # ♫
#1FB9B, 50, GRAPH       # LEFT AND RIGHT TRIANGULAR HALF BLOCK
#1FB9A, 50, SHIFT GRAPH # UPPER AND LOWER TRIANGULAR HALF BLOCK
